import {
	http
} from '@/api/service.js'
import {
	baseUrl
} from '@/common/config.js'
// 上传方法
const upload = (url, formData) => {
	return new Promise((resolve, reject) => {
		http.upload(url, {
			// baseURL,
			params: {},
			/* 会加在url上 */
			// #ifdef APP-PLUS || H5
			files: [], // 需要上传的文件列表。使用 files 时，filePath 和 name 不生效。App、H5（ 2.6.15+）
			// #endif
			filePath: '', // 要上传文件资源的路径。
			name: 'image', // 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
			// #ifdef H5 || APP-PLUS
			timeout: 3000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)
			// #endif
			header: {},
			/* 会与全局header合并，如有同名属性，局部覆盖全局 */
			custom: {}, // 自定义参数
			formData, // HTTP 请求中其他额外的 form data
			// 返回当前请求的task, options。请勿在此处修改options。非必填
			getTask: (task, options) => {
				// setTimeout(() => {
				//   task.abort()
				// }, 500)
			},
			//validateStatus: (statusCode) => { // statusCode 必存在。此处示例为全局默认配置。演示，非必填选项
			//	return statusCode >= 200 && statusCode < 300
			//},
			// 自定义处理params 函数
			//paramsSerializer: (params) => {
			//   return qs.stringify(params)
			//}
		}).then(res => {
			resolve(res)
			// 返回的res.data 已经进行JSON.parse 
		}).catch(err => {
			reject(err)
		})
	})
}


/**
 * 上传头像
 * @param {Object} params - 上传头像参数
 */
export const uploadAvatar = (formData) => {
	return upload('index/uploadavatar', formData)
}